A 3D representation of a video can be obtained by multiplexing two views of a same scene (stereo format), recorded by two different cameras of a single stereoscopic device.
Two types of coding, MFC and MVC (respectively “Multiview Frame-compatible Coding” and “Multiview Video Coding”), are generally used to code images composed of two views by exploiting redundancies that exist between the two views.
Although the stereo coding format currently dominates the market, the development of new 3D video services such as 3DTV or FTV require a more fluid representation of three-dimensional scenes, which can be obtained by simultaneously multiplexing more than two views on one 3D device. To this end, at least three images from different points of view can be acquired, encoded then transmitted according to the MVV (“MultiView Video”) format and the MVC coding can be used in order to code these images. However, the cost associated with the MVC coding is high, particularly when the number of points of view is great.
A new video coding format, called MVD (“Multiview Video+Depth”), is currently in development. According to this format, depth cameras are used in addition to texture cameras. Each texture component of a given image is associated with a depth component of that image. After coding then transmission, the reconstructed texture and depth components can be transmitted to a synthesizer which generates a requisite number of intermediate views. The advantage of the depth components is that they are purely composed of a brightness channel and that they are primarily composed of smooth regions separated by borders. Thus, they are less costly to code than the texture components. Furthermore, correlations between two texture components or between two depth components, and correlations between a texture component and a depth component can be exploited according to the MVD format, for example by means of a 3DVC (“3D Video Coding”) codec, in order to improve the coding efficiency.
Moreover, standards provide for a prediction of coding information for a current block, as a function of coding information from blocks already coded then decoded, again in order to improve the coding efficiency.
One type of coding information is for example a temporal motion vector which describes the motion of a view at the current instant relative to this same view at a preceding instant.
The AMVP (“Advanced Motion Vector Prediction”) mode introduces a list of temporal motion vectors that are candidates for predicting the temporal motion vector of the current block of a current view. Only the difference (residual) between the motion vector of the current block and the best candidate temporal motion vector of the list in terms of a bit rate-distortion criterion, and an index signaling this best candidate vector, are transmitted to the decoder, thus reducing the cost of transmission of the information linked to the temporal motion vector of the current block.
The MERGE mode avoids predicting a coding information item of a current block, such as, for example, a temporal motion vector. The MERGE mode in effect enables the current block of a current view to directly inherit from a temporal motion vector chosen from a list of candidate temporal motion vectors which can comprise temporal motion vectors associated respectively with neighboring blocks of the current block, said neighboring blocks having already been coded then decoded, or else associated respectively with blocks corresponding to the current block and contained in frames previously coded then decoded. Such blocks corresponding to the current block are also called collocated blocks in the prior art. The temporal motion vector of the current block that is thus chosen by inheritance from the list of candidate vectors does not then need to be coded in as much as the same principle can be applied in the decoding.
In the 3D-HEVC (“3D-High Efficiency Video Coding”) standard currently being prepared, techniques employing both prediction and inheritance are proposed.
The 3D-HEVC standard makes it possible in particular to add, in the list of candidate temporal motion vectors of the AMVP mode or of the MERGE mode, other types of motion vectors such as:                a temporal motion vector computed from a disparity motion vector, such a candidate motion vector being called “multiview candidate”;        a disparity motion vector.        
As is known per se, a disparity motion vector is a motion vector used in the context of an interview prediction. It is a motion vector which describes the motion between the current block of a current dependent view and a block corresponding to this current block in a base view previously coded then decoded, the current dependent view and the base view being each representative of a same scene at the same instant.
Such a disparity motion vector can moreover be used in the context of an interview residual prediction of a current block in a current view. According to this prediction, a search is conducted, in a base view previously coded then decoded, for a block which corresponds to the current block of the current dependent view and which is pointed to by the disparity motion vector of the current block. The residual of this corresponding block is then computed to predict the residual of the current block.
There are different disparity motion vector derivation methods which can be used in the future 3D-HEVC standard.
A first method, called DMDV (“Depth Map Disparity Vector”), consists in estimating a depth map for each dependent view, then in choosing the disparity motion vector which corresponds to the maximum depth value in the colocated block in the estimated depth map. The drawback with this first method is that it is costly in computation and memory terms.
A second method, called NBDV (“Neighbor Disparity Vector”), consists in considering, for a current block to be coded of a current view, five spatial blocks, neighboring the current block in the current view, and two temporal blocks, neighboring the current block in two reference frames previously coded then decoded. The five neighboring blocks are a block A0 situated directly below and to the left of the current block, a block A1 situated directly below the block A0 and situated at the bottom left of the current block, a block B0 situated directly above and to the right of the current block, a block B1 neighboring the block Bo and situated directly above the current block and a block B2 situated directly above and to the left of the current block. The two temporal blocks are a CENTER block situated at the center of the block corresponding to the current block and an RB block situated directly below and to the right of the block corresponding to the current block. The disparity motion vector derivation method according to this second method consists in checking whether one of the blocks A0, A1, B0, B1, B2, CENTER1 (first reference frame), CENTER2 (second reference frame), RB1 (first reference frame) and RB2 (second reference frame) is associated with a disparity motion vector. Such a check is performed in the following particular order: CENTER1, RBI, CENTER2, RB2, A1, B1, B0, A0, B2 for the first dependant view, and RB1, CENTER1, RB2, CENTER2, A1, B1, B0, A0, B2 for the second dependant view. As soon as the first disparity vector is found for one of these blocks in the abovementioned order of checking, it is selected as being the final derived disparity motion vector. The check is then stopped, even if there are still blocks to be checked.
It may be that, on completion of the check, no disparity motion vector is found. In this case, for a block considered out of the blocks A0, A1, B0, B1, B2 and which has been coded using a motion prediction according to the AMVP or MERGE mode, the temporal motion vector associated with this block might have involved the derivation of a disparity motion vector if the multiview candidate was chosen to code this block, as explained above in the introduction. The disparity motion vector derivation method according to the second method then consists in checking whether one of the spatial blocks A0, A1, B0, B1, B2 is associated with a temporal motion vector computed from a disparity motion vector. Such a check is performed in the following particular order: A0, A1, B0, B1, B2. As soon as a temporal motion vector computed from a disparity motion vector is found in association with one of the blocks in the abovementioned order of checking, the disparity motion vector used to derive this temporal motion vector is selected as being the final derived disparity motion vector.
The drawback of this second derivation method is that the first disparity motion vector which, according to the case, is found or read, is maybe not the one which will optimize the efficiency of the coding or of the decoding of the current block.
A third derivation method can be used in the case where a current view has a format of MVD type and its depth component has been coded before its texture component, using a tool called FCO (“Flexible Coding Order”). To this end, to derive the disparity motion vector of a current block of a texture component of a current view, the following steps are carried out:                determination of the block colocated depthwise in the coded then decoded depth component which is associated with the current texture component,        determination of a disparity motion vector which corresponds to the maximum depth value in the block colocated depthwise in the depth component,        selection of the disparity motion vector determined as final disparity motion vector.        
The drawback of such a derivation method is that it is limited to views which necessarily contain texture and depth components. Furthermore, it does not take into account other types of disparity motion vectors, such as, for example, disparity motion vectors used to derive temporal motion vectors.
A fourth derivation method consists in refining the final disparity motion vector which has been obtained using the abovementioned second method NBDV. This method is called DoNBDV (“Depth Oriented Neighbor Disparity Vector”). Such a method is used in the case where a current view has a format of MVD type and its texture component has been coded before its depth component. The final disparity motion vector is then used to determine a depth block in the base view previously coded then decoded, corresponding to the current texture block in the current view. The new final disparity motion vector DoNBDV is the one which corresponds to the maximum depth value in this determined depth block.
The drawback of such a derivation method is that it is limited to views which necessarily contain texture and depth components. Moreover, since it is derived from the second method, it necessarily inherits drawbacks specific thereto.
A fifth derivation method proposed in the document by J. Kang, Y. Chen, L. Zhang and M. Karczewicz, “3D-CE2.h related: Enhanced disparity vector derivation”, ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 JCT3V-C00050 aims to improve the abovementioned second derivation method. To this end, during the checking of the blocks in the following particular order: CENTER1, RB1, CENTER2, RB2, A1, B1, B0, A0) B2 (first dependent view) or RB1, CENTER1, RB2, CENTER2, A1, B1, B0, A0, B2 (second dependent view), the following are intended to be stored:                at most three spatial disparity motion vectors in a first list called SDVC (“Spatial Disparity Vector Candidates”),        and at most three temporal disparity motion vectors in a second list called TDVC (“Temporal Disparity Vector Candidates”).        
A number of cases can arise on completion of the checking.
In a first case, it may be that, on completion of the checking, no disparity motion vector is found. In this case, the final disparity motion vector is obtained in the same way as in the second method, by selecting the first disparity motion vector used to derive a temporal motion vector associated with the spatial blocks in the following order: A0, A1, B0, B1, B2.
In a second case, a single disparity motion vector has been stored, whether it be an SDVC or TDVC vector. This single stored vector is then selected as final disparity motion vector.
In a third case, if only two disparity motion vectors have been stored, that is to say either two SDVC vectors, or two TDVC vectors, or one SDVC vector and one TDVC vector, the greater of the two vectors is selected as final disparity motion vector.
In a fourth case, if three or more disparity motion vectors have been stored, a median function is applied to the two first TDVC vectors read in memory and to the first SDVC vector read in memory. The resulting vector is then selected as final disparity motion vector. If there are not enough TDVC (respectively SDVC) vectors, the first SDVC (respectively TDVC) vector is used as input for the median function.
Although the selection of the final disparity motion vector is obtained from a plurality of disparity motion vectors contained in one or two lists, contrary to the second derivation method which retains only a single disparity motion vector, the drawback of this fifth method is that the first list of SDVC vectors, just like the second list of TDVC vectors, contains only disparity motion vectors which are used in the context of an interview prediction. In other words, the derivation method according to the fifth method is based only on a plurality of uniform disparity motion vectors. None of the first and second lists contains disparity vectors of another type, such as, for example, those from which temporal motion vectors are derived. The selection of the disparity motion vector according to this fifth method is not therefore optimal.